﻿#include "mainwindow.h"
#include <QMenuBar>
#include <QMenu>
#include <QAction>
#include <QToolBar>
#include <QStatusBar>
#include <QLabel>
#include <QDockWidget>
#include <QTextEdit>
#include <QPixmap>
#include <QIcon>
#include <QFileDialog>
#include <QString>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    this->resize(600,400);  //设置主窗口大小
    QMenuBar *menubar = this->menuBar(); // 取出菜单栏
    menubar->addSeparator();    // 给菜单栏添加一条分割线

    QMenu *menu1 =  menubar->addMenu("文件"); // 添加菜单 “文件”
    QMenu *menu2 =  menubar->addMenu("编辑");// 添加菜单“编辑”

    QAction *newfile = menu1->addAction("新建文件");   // 添加“文件”菜单项
    QAction *openfile = menu1->addAction("打开文件");
    QAction *quitfile =  menu1->addAction("退出");
    QAction *savefile = menu1->addAction("保存");

    //将点击“退出”菜单项产生的信号传给主窗口的匿名函数用来关闭窗口
    connect(quitfile,&QAction::triggered,this,[this](){
        this->close();
    });

    //打开一个文件
    connect(openfile,&QAction::triggered,this,[](){
        QString filename = QFileDialog::getSaveFileName();
        qDebug()<< filename;
    });

    //保存一个文件
    connect(savefile,&QAction::triggered,this,[](){
        QString filename = QFileDialog::getOpenFileName();
        qDebug()<< filename;
    });




    QAction *stickfile = menu2->addAction("粘贴");     // 添加“编辑”菜单项

    QToolBar *toolbar = this->addToolBar("");   //添加工具栏
    toolbar->addSeparator();    // 添加工具栏分割线

    toolbar->addAction(newfile);    // 给工具栏添加工具(菜单项）
    toolbar->addAction(openfile);
    toolbar->addAction(quitfile);
    toolbar->addAction(stickfile);
    toolbar->addAction(savefile);

    QStatusBar *statusbar = this->statusBar();  // 添加状态栏
    statusbar->addWidget(new QLabel("状态")); // 添加一个标签控件用于显示状态

    //QDockWidget *dockewidget = new QDockWidget("这是一个铆接控件", this);   //添加一个铆接控件
    //this->addDockWidget(Qt::TopDockWidgetArea, dockewidget);    //将铆接窗口控件移动到哪个位置

    QTextEdit *textedit = new QTextEdit("",this);  //添加一个文本编辑器
    this->setCentralWidget(textedit);   // 设置中心控件

    // :/new/prefix1/resource/line.png
    QPixmap pic;    //定义一个图片对象
    pic.load(":/new/prefix1/resource/line.png");    //加载一个图片
    openfile->setIcon(QIcon(pic));  //设置菜单oepnfile的icon

    //


}

MainWindow::~MainWindow()
{
}

